\documentclass[a4paper,10pt]{scrartcl}


%opening
\title{POb C++, The Language}
\author{Eduardo Gurgel Pinho}

\begin{document}

\maketitle

\begin{abstract}

\end{abstract}

\section{Simple Example}
\subsection{Class Definition}
\subsubsection{Real World}
\begin{verbatim}
#include "pob.def.h"

parallel_class (POb) { // parallel_class
public:
  Example(void);
  int main (void);
  unit_master_def {
  public:
    unit_master_cons () { }
    int main (void) { compute(); return 0; }
    parallel void compute (void);
  private:
    int n;
  };

  unit_def (A) {
  public:
    unit_cons (A) { }
    int main (void);
    parallel void compute (void);
  private:
    int a;
  };

  unit_def (B) {
  public:
    unit_cons (B) { }
    int main (void);
    parallel void compute_other_thing (void);
  private:
    int b;
  };

  static synchronous_channel <int, unit (A), unit (B)> cs;
};

\end{verbatim}

\subsubsection{Perfect World}

\begin{verbatim}
parallel class Example { // parallel_class
public:
  POb(void);
  int main (void);
  unit master {
  public:
    master() { }
    int main (void) { compute(); return 0; }
    parallel void compute (void);
  private:
    int n;
  };

  unit A {
  public:
    A() { }
    int main (void);
    parallel void compute (void);
  private:
    int a;
  };

  unit B {
  public:
    B() { }
    int main (void);
    parallel void compute_other_thing (void);
  private:
    int b;
  };
  static synchronous_channel <int, unit A, unit B> cs;
}; 

\end{verbatim}

\subsection{Class implementation}

\end{document}
